/**
 * 
 */
package kr.co.insoft.core.service.configration.cdt;

import java.util.List;

import kr.co.insoft.core.model.configration.cdt.CDTEntityModel;
import kr.co.insoft.core.model.paging.PagingModel;
import kr.co.insoft.framework.exceptions.ServiceException;

import org.springframework.transaction.annotation.Transactional;

/**
 * @author IN-SOFT Inc. GoodwillDD(sylee@in-soft.co.kr)
 * 
 */
public interface CDTService {
	/**
	 * UserType 목록
	 * 
	 * @return
	 * @throws ServiceException
	 */
	public PagingModel getLists(PagingModel pagingModel)
			throws ServiceException;

	public List<CDTEntityModel> getCDTs() throws ServiceException;

	/**
	 * UserType 생성
	 * 
	 * @param userTypeEntityModel
	 */
	@Transactional(rollbackFor = ServiceException.class)
	public void createCDT(CDTEntityModel cdtEntityModel)
			throws ServiceException;

	/**
	 * @param userTypeId
	 * @return
	 */
	public CDTEntityModel getCDT(String userTypeId) throws ServiceException;

	/**
	 * 
	 * @param cdtEntityModel
	 * @throws ServiceException
	 */
	@Transactional(rollbackFor = ServiceException.class)
	public void editCDT(CDTEntityModel cdtEntityModel) throws ServiceException;

	/**
	 * 
	 * @param cdtEntityModel
	 * @throws ServiceException
	 */
	@Transactional(rollbackFor = ServiceException.class)
	public void removeCDT(CDTEntityModel cdtEntityModel)
			throws ServiceException;
}
